小编典典

字母数字和下划线的正则表达式

all

我想要一个正则表达式来检查一个字符串是否只包含大小写字母、数字和下划线。


阅读 251

收藏
2022-03-22

共1个答案

小编典典

要匹配仅包含这些字符(或空字符串)的字符串,请尝试

"^[a-zA-Z0-9_]*$"

这适用于 .NET 正则表达式,可能也适用于许多其他语言。

分解它:

^ : start of string
[ : beginning of character group
a-z : any lowercase letter
A-Z : any uppercase letter
0-9 : any digit
_ : underscore
] : end of character group
* : zero or more of the given characters
$ : end of string

如果您不想允许空字符串,请使用+代替*.


正如其他人指出的那样,一些正则表达式语言有[a-zA-Z0-9_]. 在 .NET 正则表达式语言中,您可以打开 ECMAScript 行为并\w用作简写(yielding ^\w*$or ^\w+$)。请注意,在其他语言中,默认情况下在 .NET 中,\w范围更广,并且也会匹配其他类型的 Unicode 字符(感谢 Jan 指出这一点)。因此,如果您真的打算匹配这些字符,那么使用显式(较长)形式可能是最好的。

2022-03-22